package com.entmanage.base.hrm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.entmanage.common.annotation.Excel;
import com.entmanage.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 员工工作经历子对象 hrm_employee_experience
 *
 * @author lsq
 * @date 2025-09-02
 */
@ApiModel(value = "HrmEmployeeExperience", description = "员工工作经历子对象")
public class HrmEmployeeExperience extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    @ApiModelProperty(value = "")
    private Long expId;

    /** 员工ID */
    @Excel(name = "员工ID")
    @ApiModelProperty(value = "员工ID")
    private Long empId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty(value = "公司名称")
    private String companyName;

    /** 职位 */
    @Excel(name = "职位")
    @ApiModelProperty(value = "职位")
    private String position;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "开始日期")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "结束日期")
    private Date endDate;

    /** 工作描述 */
    @Excel(name = "工作描述")
    @ApiModelProperty(value = "工作描述")
    private String jobDescription;

    /** 删除逻辑标识 */
    @ApiModelProperty(value = "删除逻辑标识")
    private String delFlag;

    /** 用户ID */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门ID")
    @ApiModelProperty(value = "部门ID")
    private Long deptId;

    public void setExpId(Long expId)
    {
        this.expId = expId;
    }

    public Long getExpId()
    {
        return expId;
    }
    public void setEmpId(Long empId)
    {
        this.empId = empId;
    }

    public Long getEmpId()
    {
        return empId;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setPosition(String position)
    {
        this.position = position;
    }

    public String getPosition()
    {
        return position;
    }
    public void setStartDate(Date startDate)
    {
        this.startDate = startDate;
    }

    public Date getStartDate()
    {
        return startDate;
    }
    public void setEndDate(Date endDate)
    {
        this.endDate = endDate;
    }

    public Date getEndDate()
    {
        return endDate;
    }
    public void setJobDescription(String jobDescription)
    {
        this.jobDescription = jobDescription;
    }

    public String getJobDescription()
    {
        return jobDescription;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("expId", getExpId())
                .append("empId", getEmpId())
                .append("companyName", getCompanyName())
                .append("position", getPosition())
                .append("startDate", getStartDate())
                .append("endDate", getEndDate())
                .append("jobDescription", getJobDescription())
                .append("delFlag", getDelFlag())
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .toString();
    }
}
